/*
 * ISTY 1
 * Projet IDD
 * Jeu de société Caylus
 *
 * Groupe 9:
 *      Bedhiaf Mouna
 *      Joober Nizar
 *      Labassi Amine
 *      Sridi Med Mahdi
 * Année 2008/2009
 */

package caylus.Model;

import java.io.Serializable;

/**
 * caylus
 *
 * le lancement d'une partie du Jeu Caylus nécessite un Prévot.
 * Une unique instance est crée à partir de cette classe pour une même partie.
 * Le prévot peut être déplacer par les cinq joueurs, soit vers l'avant soit vers l'arrière.
 * il rejoint le bailli apres chaque tour du jeu.
 * Le prévot est un élément actif d'une partie Caylus, car sa position détermine l'activation des batiments,
 * et son déplacement est payant.
 *
**/

public class Prevot implements Serializable{

	private int  _position;
	private transient Bailli _bailli;


    // Constructeur
    /**
     * Ce constructeur n'est appelé qu'une seule fois pendant une partie
     * Le Prévot est initialement posé sur la case 12 du plateau.
     */
    public Prevot(){
		_position = 12; // position initiale du Prevot
	}
    /**
     *
     * @return La position du Prévot sur le plateau du jeu
     */
    public int getPosition(){
		return _position;
	}
    /**
     * A chaque fois qu'un joueur souhaite déplacer le Prévot, cette méthode est invoqué.
     * le joueur demande au Croupier de le déplacer. Le Croupier valide sa demande et encaisse le prix de l'opération.
     * @param pNbCases
     */
    public void seDeplacer(int pNbCases){
		_position = _position + pNbCases;
	}
    /**
     * Apres chaque tour (phase7), le Prévot rejoint le bailli.
     * la position du Prévot est mise à jour.
     * @param pBailli
     */
    public void rejoindreBailli(Bailli pBailli){
		_position = pBailli.getPosition();
	}

    /**
     *
     * @return Le bailli.
     */
    public Bailli get_bailli() {
        return _bailli;
    }

    /**
     * Donne la référence du Bailli au Prévot.
     * @param _bailli
     */
    public void set_bailli(Bailli _bailli) {
        this._bailli = _bailli;
    }
    
}
